// import com.alibaba.druid.sql.ast.SQLExpr;
// import com.alibaba.druid.sql.ast.SQLObject;
// import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObjectImpl;
// import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;

// import java.util.Arrays;
// import java.util.List;
#pragma once
#include "../OracleSQLObjectImpl.h"
#include "../../../../ast/SQLExpr.h"

class OracleRangeExpr : virtual public OracleSQLObjectImpl, virtual public SQLExpr
{
public:
  SQLExpr_ptr lowBound;
  SQLExpr_ptr upBound;

  OracleRangeExpr();

  OracleRangeExpr(SQLExpr_ptr lowBound, SQLExpr_ptr upBound);

  SHAREDOBJECT(OracleRangeExpr);
  // @Override
  void accept0(OracleASTVisitor_ptr visitor);

  SQLObject_list_ptr getChildren();

  SQLExpr_ptr getLowBound();

  void setLowBound(SQLExpr_ptr lowBound);

  SQLExpr_ptr getUpBound();

  void setUpBound(SQLExpr_ptr upBound);

  SQLObject_ptr clone();
};
